The invention relates to data communications, and particularly to a method of operating a communications terminal, a method of providing access information to a communications terminal and apparatus for performing the methods.
In order for communications terminals to communicate with a network, it is usual to first establish a connection between a network interface of the terminal and a network access point. In the case of the Internet, for example, a modem is used by the terminal to establish a connection with the server of an Internet Service Provider (ISP) via a telephone line, the resulting connection being an access channel through which data communications take place. Wireless access points, e.g. Wi-Fi or WiMax access points, are further examples of access points by means of which a terminal having a suitable network interface can connect to a network.
The provision of publicly-accessible access points has increased significantly over recent years and this trend is set to continue. As a result, it is common for users to have the ability to communicate with a network by means of several different access points. This is particularly the case for users of portable devices, such as laptop PCs and personal digital assistants (PDAs), since the user's geographical location can change as they travel from place to place which means that the number, type and provider of network access points will also change. In such situations, connection to a particular access point usually involves manual selection of one of the access points available at the user's current location, which is thereafter used for data transfer for the entire session. Selection is often based on the user identifying an ‘open’ access point or an access point for which they have previously obtained a password through subscription to a service provider. The manual selection process carried out by the user may pay little regard to the performance or cost associated with data transfer using a particular access point, through lack of familiarity with what is currently available, and its capabilities. The performance or cost may even change during the course of a session, as a result of movement through the area of coverage, or because of changes in the nature of the transactions being carried out during the course of the session. This means that data transfer is often effected via an access point which does not provide the most efficient or suitable means of data transfer to or from the network.
According to a first aspect of the invention, there is provided a method of operating a communications terminal which comprises a plurality of network interfaces each capable of establishing an access channel with a respective network by a process of connecting to one or more remote network node(s), the method comprising:
(a) establishing a first access channel between a first network interface of the communications terminal and a first remote network node;
(b) receiving over the first access channel, from a predetermined network address, profile information identifying one or more further network node(s), the profile information including access data to allow establishment of a further access channel between a network interface of the communications terminal and the or each further network node(s);
(c) detecting the presence of a second network node connected to, or in range of, the communications terminal; and
(d) in response to said detection, identifying whether the profile information received in step (b) corresponds to the second network node and, if so, using the access data automatically to establish a new access channel with the second network node and to communicate data thereover.
The access data received in step (b) may include security information such as passwords or encryption keys required to establish new access channels with one or more further network node(s), in which case step (d) comprises automatically transmitting said password, or data encrypted in accordance with the encryption key, over the new access channel to the or each further remote network node.
The method may further comprise determining the geographical location of the communications terminal and transmitting information identifying said location over the first access channel such that, in response, the profile information received in step (b) is dependent on said transmitted location information. The profile information received in step (b) may correspond to one or more further network node(s) located in the vicinity of said geographical location. Additionally or alternatively, the profile information received in step (b) may correspond to one or more further network node(s) for which it is projected that the communications terminal may be in the vicinity at some future time, based on the transmitted location information.
The geographical location of the communications terminal may be determined by one or more of WIMAX triangulation, Wi-Fi triangulation, cellular triangulation, Bluetooth access point triangulation or IP address resolution, although other methods may be employed, for example SSID or MAC address lookup from a central database, or use of the GPS (global positioning system).
According to a second aspect of the invention, there is provided a method of providing access information to a communications terminal which comprises a plurality of network interfaces each capable of establishing a respective access channel with a network by means of connecting to one or more remote network node(s), the method comprising:
(a) establishing a first access channel with the communications terminal;
(b) receiving over the first access channel data enabling the communications terminal to be identified; and
(c) returning, based on said identity data, profile information identifying one or more further network node(s) and including access data to allow establishment of a new access channel between a network interface of the communications terminal and the or each further network node(s).
The access data returned in step (c) may include a password and/or encryption key required to establish a new access channel with the, or each, further network node.
The method may further comprise receiving, over the first access channel, data from which can be determined the geographical location of the communications terminal such that, in step (c), the returned profile information is dependent on said location. The determined geographical location may be used to access a database identifying one or more further network node(s) in the vicinity of said geographical location, the returned profile information corresponding to said identified network node(s). Additionally or alternatively, the determined geographical location may be stored for a time frame sufficient to enable the future location of the communications terminal to be estimated, the profile information returned in step (c) corresponding to one or more further network node(s) in an estimated future location.
According to a third aspect of the invention, there is provided a communications apparatus comprising a plurality of network interfaces each capable of establishing a respective access channel with a network by connecting to one or more remote network node(s), the apparatus comprising: a first network interface arranged to establish a first access channel with a first network node and to receive, over the first access channel from a predetermined network address, profile information identifying one or more further network node(s) and including access data to allow establishment of a new access channel between a network interface of the communications terminal and the or each further network node(s); memory for storing said received profile information; means arranged to detect the presence of a second network node connected to, or in range of, the communications terminal and, in response to said detection, to identify whether profile information received in step (b) corresponds to the second network node and, if so, automatically to establish a new access channel with the second network node and to communicate data thereover using either the first network interface or a different network interface.
According to a fourth aspect of the invention, there is provided apparatus for providing access information to a communications terminal which comprises a plurality of network interfaces each capable of establishing a respective access channel with a network by connecting to one or more remote network node(s), the apparatus comprising: an interface arranged to establish a first access channel with the communications terminal; a data receiver arranged to receive, over the first access channel, data enabling the communications terminal to be identified; and a data transmitter arranged to return, based on said identity data, profile information identifying one or more further network node(s), the profile data including access data to allow establishment of a new access channel between a network interface of the communications terminal and the or each further network node(s).
The specific description also discloses a method of communicating data between a communications terminal and a network, the terminal comprising a plurality of network interfaces each capable of establishing an access channel to the network by means of connecting to a network node, the method comprising: (a) establishing a plurality of separate access channels between at least one network interface and at least one network node; (b) receiving operating parameters in respect of each established access channel; (c) receiving a request from an application level program running on the terminal to transfer data to or from the network; and (d) in response to step (c), transferring data between the terminal and the network using a selected one of the established access channels, wherein selection is made in accordance with predefined selection rules indicating which access channel is to be selected in dependence on the operating parameters received in step (b).
In this way, a plurality of access channels are established between the terminal and the network, selection of a channel over which to send and/or received data being based on operating parameters received in respect of each channel. As will be evident from the specific description, the selection rules can be set in such a way as to ensure efficient data transfer.
The term “network interface” is intended to mean any component of the communications terminal that is capable of establishing a data channel with a network, and thereafter communicating data over that channel once it is established. In practice, this might be a component having a MAC (Media Access Control) address such as a Bluetooth or IEEE 802.11 network card, although this is by no means exhaustive. The interface may make use of a wireless carrier medium such as “Bluetooth” or IrDA (infra-red) wireless. A network node is intended to mean a node forming part of, or providing access to, a network and which is capable of communicating with one or more communications terminals. WiFi or WiMax access points are such examples since they provide access to a network, the Internet, via an ISP. It follows that an access channel is the data channel established between a particular network interface and network node.
The plurality of channels can be established between a single network interface and multiple network nodes, between multiple network interfaces and multiple network nodes, or between multiple network interfaces and a single network node.
The method may further comprise (e) receiving updated operating parameters from at least one of said access channels and, in response thereto, (f) automatically switching data transfer between the application-level program and the network to a different one of the established access channels.
The predefined selection rules may indicate a condition associated with at least one of the operating parameters, the selected channel being that whose corresponding operating parameter(s) meet said condition. One of the operating parameters may be the available bandwidth of the channel and the predefined selection rules indicate a minimum bandwidth, the selected access channel having available bandwidth above said minimum bandwidth.
The predefined selection rules may indicate a plurality of operating parameters and, associated with each, a condition, selection being performed by testing the operating parameters of the established access channels against the conditions and identifying an access channel that meets the most conditions. The operating parameters can be tested in a predetermined order and access channels not meeting a particular condition are disregarded for subsequent tests.
The predefined selection rules may indicate which access channel is to be selected in dependence on both the channel operating parameters received in step (b) and the data format of data to be transferred from the application-level program.
Step (a) may comprise detecting a plurality of network nodes to which respective ones of the terminal's network interfaces can connect and automatically transmitting authentication data associated with each detected network node from said network interfaces. The method may further comprise detecting a plurality of network nodes by means of receiving respective identification signals therefrom, accessing authentication data stored at the terminal in respect of each identified wireless network node, and, automatically transmitting each set of authentication data to the network node to which it corresponds. The network interfaces may be wireless receivers and the identification signals are received over a wireless broadcast link. The method may further comprise, receiving, from a predetermined network address, authentication data in respect of one or more network nodes to which at least one of the terminal's network interfaces can connect.
The specific description also discloses a method of interfacing data between an application program running on a communications terminal and a communications network, the method comprising: establishing a plurality of connections between network interfaces of the terminal and the network and, for each established connection, generating operating parameters at least indicative of the data transfer performance over the particular connection, said operating parameters being used to determine which established connection is used to transfer data between the application program and the network.
The communications terminal can be a wireless communications terminal comprising a plurality of wireless network interfaces and wherein connections are established by the terminal identifying identification beacons transmitted by wireless access points and automatically transmitting authentication data to the access points.
The specific description also discloses a method of establishing a data channel between a processing terminal and a communications network, the method comprising: (a) establishing a first network connection between a first network interface of the terminal and a first network node; (b) receiving access data in respect of a second network node by means of the first network connection; (c) detecting the presence of the second network node to which the first or a further network interface of the terminal can connect; and, (d) in response to said detection, automatically establishing a second network connection between the first or further network interface and the second network node using the received access data.
In this way, it is possible to receive access data in respect of one or more network nodes over an existing network connection so that one or more further network connections can be established.
The method can further comprise, between steps (a) and (b), sending identification data from the processing terminal to a predetermined network address thereby to indicate the presence of said processing terminal on the network.
The specific description also discloses a method for providing access data to a processing terminal thereby to enable the terminal to connect to a network, the method comprising: (a) storing a set of access data in respect of one or more network nodes of the network, the or each node providing an access point to the network; (b) detecting the presence of a processing terminal connected to the network by means of a first network node; and (c) sending one or more sets of the stored access data to the processing terminal by means of the first network node.
The above-described method steps may be implemented in a computer program which is executable on a computer processor. There may be provided a communications terminal on which is arranged to run such a computer program, the terminal possibly being a portable computer or PDA.
The specific description also discloses a communications apparatus for transmitting and receiving data over a network, the apparatus comprising: a plurality of network interfaces each being capable of establishing an access channel with a network; a memory for storing one or more executable application-level programs and a set of predefined selection rules; a processor for running the or each application-level program; and control means arranged to establish separate access channels between the network interfaces and network nodes, to receive operating parameters in respect of each network interface, to receive data transfer requests from the or each application level program being run on the processor and to transfer data using a selected one or more of the network interfaces, selection being made in accordance with the stored selection rules which indicate which of the interfaces is to be selected in dependence on received operating parameters.
In the case of wireless network interfaces, each network interface may see several available network access points and can selectively transfer data amongst these as well as between different interface technologies. For example, the apparatus may select between different wireless networks, e.g. operated by different service providers, using the same wireless network interface. This is in addition to selecting between connections established between different network interfaces and respective access points.
Location data can be returned to the apparatus from the network, the location data identifying the location of the network access point. This locating data can be passed up and interpreted at the application layer of the apparatus so that the user is aware of said location.